home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / osi / isode / vmsisode / vmsisode80_tar.Z / vmsisode80_tar / sockit / gccinclude / curses.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-26  |  5.3 KB  |  220 lines

  1. #ifndef SI_CURSES
  2. #define SI_CURSES
  3. /*    CURSES - V3.0    */
  4.  
  5. #include <ssdef.h>
  6. #include <stdio.h>
  7. #include <smgdef.h>
  8.  
  9. # define    bool    char
  10. # define    reg    register
  11.  
  12. # ifndef    TRUE
  13. # define    TRUE    (1)
  14. # define    FALSE    (0)
  15. # endif
  16. # define    ERR    (0)
  17. # ifndef    OK
  18. # define    OK    (1)
  19. # endif
  20.  
  21. # define    _SUBWIN        0001
  22. # define    _ENDLINE    0002
  23. # define    _FULLWIN    0004
  24. # define    _SCROLLWIN    0010
  25. # define    _FLUSH        0020
  26. # define    _STANDOUT    0200
  27.  
  28. # define    _NOECHO        001
  29. # define    _NONL        002
  30. # define    _NOCRMODE    004
  31. # define    _NORAW        010
  32.  
  33. # define    _BLINK        SMG$M_BLINK
  34. # define    _BOLD        SMG$M_BOLD
  35. # define    _REVERSE    SMG$M_REVERSE
  36. # define    _UNDERLINE    SMG$M_UNDERLINE
  37.  
  38. struct    _win_st
  39. {
  40.     int    _cur_y, _cur_x;
  41.     int    _max_y, _max_x;
  42.     int    _beg_y, _beg_x;
  43.     short    _flags;
  44.     char    _clear, _leave, _scroll, _wrap;
  45.     char    **_y;
  46.     short    *_firstch, *_lastch;
  47.     struct _win_st    *_next, *_parent, *_child;
  48.     int    _id;
  49. };
  50.  
  51.  
  52. struct    _kb_st
  53. {
  54.     int    _id;
  55.     unsigned char    _flags;
  56.     struct
  57.     {
  58.         unsigned short    length;
  59.         unsigned char    type;
  60.         unsigned char    class;
  61.         char        *address;
  62.     }    _buffer_desc;
  63.     int    _count;
  64.     char    *_ptr;
  65. };
  66.  
  67. struct    _pb_st
  68. {
  69.     int    _id;
  70.     int    _rows, _cols;
  71.     union    SMGDEF    *_attr;
  72.     int    _attr_size;
  73. };
  74.  
  75. # define    _KEYBOARD    struct _kb_st
  76. # define    WINDOW        struct _win_st
  77. # define    _PASTEBOARD    struct _pb_st
  78.  
  79. extern    int    LINES, COLS;
  80. extern    WINDOW        *stdscr, *curscr;
  81. extern    _KEYBOARD    *stdkb;
  82. extern    _PASTEBOARD    *stdpb;
  83.  
  84. # define    getch()        wgetch    (stdscr)
  85. # define    addch(ch)    waddch    (stdscr, ch)
  86. # define    addstr(string)    waddstr    (stdscr, string)
  87. # define    move(y, x)    wmove    (stdscr, y, x)
  88. # define    refresh()    wrefresh (stdscr)
  89. # define    clear()        wclear    (stdscr)
  90. # define    clrtobot()    wclrtobot (stdscr)
  91. # define    clrtoeol()    wclrtoeol (stdscr)
  92. # define    delch()        wdelch     (stdscr)
  93. # define    erase()        werase (stdscr)
  94. # define    insch(ch)    winsch    (stdscr, ch)
  95. # define    insertln()    winsertln (stdscr)
  96. # define    standout()    wstandout (stdscr)
  97. # define    standend()    wstandend (stdscr)
  98. # define    getstr(string)    wgetstr    (stdscr, string)
  99. # define    inch()        winch    (stdscr)
  100. # define    setattr(attr)    wsetattr (stdscr, attr)
  101. # define    clrattr(attr)    wclrattr (stdscr, attr)
  102. # define    deleteln()    wdeleteln (stdscr)
  103. # define    insstr(string)    winsstr (stdscr, string)
  104.  
  105. # define mvwaddch(win,y,x,ch)    (wmove(win,y,x)==ERR)?ERR:waddch(win,ch)
  106. # define mvwgetch(win,y,x)    (wmove(win,y,x)==ERR)?ERR:wgetch(win)
  107. # define mvwaddstr(win,y,x,str)    (wmove(win,y,x)==ERR)?ERR:waddstr(win,str)
  108. # define mvwinsstr(win,y,x,str)    (wmove(win,y,x)==ERR)?ERR:winsstr(win,str)
  109. # define mvwgetstr(win,y,x,str)    (wmove(win,y,x)==ERR)?ERR:wgetstr(win,str)
  110. # define mvwinch(win,y,x)    (wmove(win,y,x)==ERR)?ERR:winch(win)
  111. # define mvwdelch(win,y,x)    (wmove(win,y,x)==ERR)?ERR:wdelch(win)
  112. # define mvwinsch(win,y,x,ch)    (wmove(win,y,x)==ERR)?ERR:winsch(win,ch)
  113. # define mvwdeleteln(win,y,x)    (wmove(win,y,x)==ERR)?ERR:wdeleteln(win)
  114. # define mvaddch(y,x,ch)    mvwaddch (stdscr, y, x, ch)
  115. # define mvgetch(y,x)        mvwgetch (stdscr, y, x)
  116. # define mvaddstr(y,x,str)    mvwaddstr (stdscr, y, x, str)
  117. # define mvinsstr(y,x,str)    mvwinsstr (stdscr, y, x, str)
  118. # define mvgetstr(y,x,str)    mvwgetstr (stdscr, y, x, str)
  119. # define mvinch(y,x)        mvwinch (stdscr, y, x)
  120. # define mvdelch(y,x)        mvwdelch (stdscr, y, x)
  121. # define mvinsch(y,x,ch)    mvwinsch (stdscr, y, x, ch)
  122. # define mvdeleteln(y,x)    mvwdeleteln (stdscr, y, x)
  123. # define mvcur(ly,lx,ny,nx)    wmove (stdscr, ny, nx)
  124. #pragma standard
  125.  
  126. # define clearok(win, bf)    (win->_clear = bf)
  127. # define leaveok(win, bf)    (win->_leave = bf)
  128. # define scrollok(win, bf)    (win->_scroll = bf)
  129. # define wrapok(win, bf)    (win->_wrap = bf)
  130. # define flushok(win,bf) (bf ? win->_flags |= _FLUSH : (win->_flags &= ~_FLUSH))
  131. # define getyx(win,y,x)        y = win->_cur_y, x = win->_cur_x
  132.  
  133. # define echo()            (stdkb->_flags &= ~_NOECHO)
  134. # define noecho()        (stdkb->_flags |= _NOECHO)
  135. # define nl()            (stdkb->_flags &= ~_NONL)
  136. # define nonl()            (stdkb->_flags |= _NONL)
  137. # define crmode()        ((stdkb->_flags &= ~_NOCRMODE), nonl ())
  138. # define nocrmode()        (stdkb->_flags |= _NOCRMODE)
  139. # define raw()            (stdkb->_flags &= ~_NORAW)
  140. # define noraw()        (stdkb->_flags |= _NORAW)
  141.  
  142. # define check(status)    if (!(status & SS$_NORMAL))    \
  143.             {    c$$translate (status);     \
  144.                 return ERR;        \
  145.             }
  146.  
  147.  
  148. int waddch (WINDOW *win, char ch);
  149.  
  150. int waddstr (WINDOW *win, char *str);
  151.  
  152. int box (WINDOW *win, char vert, char hor);
  153.  
  154. int wclear (WINDOW *win);
  155.  
  156. int wclrattr (WINDOW *win, int attr);
  157.  
  158. int wclrtobot (WINDOW *win);
  159.  
  160. int wclrtoeol (WINDOW *win);
  161.  
  162. int wdelch (WINDOW *win);
  163.  
  164. int wdeleteln (WINDOW *win);
  165.  
  166. int delwin (WINDOW *win);
  167.  
  168. int endwin (void);
  169.  
  170. int werase (WINDOW *win);
  171.  
  172. int wgetch (WINDOW *win);
  173.  
  174. int wgetstr (WINDOW *win, char *str);
  175.  
  176. char winch (WINDOW *win);
  177.  
  178. WINDOW *initscr (void);
  179.  
  180. int winsch (WINDOW *win, char ch);
  181.  
  182. int winsertln (WINDOW *win);
  183.  
  184. int winsstr (WINDOW *win, char *str);
  185.  
  186. int longname (char *termbuf, char *name);
  187.  
  188. int mvwin (WINDOW *win, int st_row, int st_col);
  189.  
  190. int wmove (WINDOW *win, int y, int x);
  191.  
  192. WINDOW *newwin (int numlines, int numcols, int begin_y, int begin_x);
  193.  
  194. int overlay (WINDOW *win1, WINDOW *win2);
  195.  
  196. int overwrite (WINDOW *win1, WINDOW *win2);
  197.  
  198. int wprintw (WINDOW *win, char *format_spec, ...);
  199.  
  200. int wrefresh (WINDOW *win);
  201.  
  202. int wscanw (WINDOW *win, char *format_spec, ...);
  203.  
  204. int    scanw (char *fmt, int arg1);
  205.  
  206. int scroll (WINDOW *win);
  207.  
  208. int wsetattr (WINDOW *win, int attr);
  209.  
  210. WINDOW *subwin (WINDOW *win, int numlines, int numcols,
  211.             int begin_y, int begin_x);
  212.  
  213. int wstandend (WINDOW *win);
  214.  
  215. int wstandout (WINDOW *win);
  216.  
  217. int touchwin (WINDOW *win);
  218.  
  219. #endif
  220.